1. Field of the Invention
This invention relates to combined unicast and multicast scheduling.
2. Description of Related Art
In communication networks in which fast switching is desired, one switching technique which has become common is to property that each possible input may be coupled to each possible output, and that data cells to be switched are queued at the input to the switch without effect on operation of the switch.
It often occurs in such switches that several inputs will simultaneously contend for the same output, and moreover that one input will simultaneously have data cells available for more than one output. Several techniques are known for selecting which input to couple to which output at each particular switching time, so as to achieve the greatest possible data cell flow through the switch, while ensuring that every input is communicated to its desired output within a reasonable time.
U.S. Pat. No. 5,267,235, titled "Method and Apparatus for Resource Arbitration", issued in the name of Charles P. Thacker and assigned to Digital Equipment Corporation, describes one switching technique, herein called "Parallel Iterative Matching" or PIM. In the PIM technique, unmatched inputs and outputs are scheduled by a three-part process, in which (!) each unmatched input sends a request to every output for which it has a queued data cell; (2) each unmatched output which receives at least one request selects among them randomly and grants the selected request; and (3) each input which receives at least one grant selects among them and accepts the selected grant.
Nicolas McKeown's Ph.D. Thesis at the University of California (Berkeley), titled "Scheduling Cells in an Input Queued Switch", submitted May 1995, describes another switching technique, herein called "Rotating Priority Iterative Matching" or RPIM. The RPIM technique improves on the PIM technique by introducing a grant precedence pointer at each output which rotates among the unmatched inputs, and requiring each output to grant to the input nearest the grant precedence pointer in preference to all other inputs.
One problem which has arisen in the art is that the input cells are often an intermixed stream of unicast cells (destined for a single output) and multicast cells (destined for more than one output). Both the PIM technique and the RPIM technique suffer from the drawback that they are not well suited for switching multicast data cells.
Another problem which has arisen in the art is that it is often desired to assign priorities to data cells, so that, for example, data cells carrying certain classes of data are more likely to arrive at their destination without excess switching delays. Both the PIM technique and the RPIM technique suffer from the drawback that they are complicated by attempts to simultaneously switch multiple priorities of data cells.
When the input stream of data cells intermixes both unicast and multicast data cells, each data cell being prioritized with one of multiple priorities, the PIM technique and the RPIM technique do not achieve satisfactory results.
Accordingly, it would be advantageous to provide a technique for combined unicast and multicast scheduling, and further to provide a technique for combined unicast and multicast scheduling which operates well with prioritized data cells.